48
Beginner’s Guide to Code Algorithms
48
STEP 10 continued
Next i
For i = 1 To 9 Step 3
For j = 1 To 9 Step 3
For k = 1 To 3
‘ n is column p is row
n = Int((i - 1) / 3) * 3 + k
triocount = 0
For l = 1 To 3
p = Int((j - 1) / 3) * 3 + l
If (sbox(p, n) <> putnumber And sbox(p, n) <> ““) Or
findincantbelist(putnumber, p, n) = 1 Then
middlecolumncount(n) = middlecolumncount(n) + 1
triocount = triocount + 1
End If
Next l
If triocount < 3 Then
middlecolumncount(n) = middlecolumncount(n) - triocount
savedrow(n) = p
End If
Next k
Next j
Next i
For i = 1 To 9
If middlecolumncount(i) = 6 Then
a = i Mod 3
If a = 0 Then
savedcolumn1 = i - 2
savedcolumn2 = i - 1
Else
If a = 1 Then
savedcolumn1 = i + 1
savedcolumn2 = i + 2
Else
savedcolumn1 = i - 1
savedcolumn2 = i + 1
End If
End If
Call addtocantbelist(putnumber, savedrow(i), savedcolumn1)
Call addtocantbelist(putnumber, savedrow(i) - 1, savedcolumn1)
Call addtocantbelist(putnumber, savedrow(i) - 2, savedcolumn1)
Call addtocantbelist(putnumber, savedrow(i), savedcolumn2)
Call addtocantbelist(putnumber, savedrow(i) - 1, savedcolumn2)
Call addtocantbelist(putnumber, savedrow(i) - 2, savedcolumn2)
End If
Next i
:
:
Next putnumber